package com.hxzy.shop.order.dto.resp;

import com.hxzy.shop.order.dto.req.PayTransactionsDrugV2Req;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @Author rlj
 * @Date 2021/7/14 13:28
 * @Version 1.0
 */
@Data
@Accessors(chain = true)
public class PlaceOrderResp implements Serializable {
    /**
     * 总金额
     */
    @ApiModelProperty(value = "总金额")
    private BigDecimal totalPrice;

    /**
     * 实际支付金额
     */
    @ApiModelProperty(value = "实际支付金额")
    private BigDecimal payPrice;


    @ApiModelProperty("限时秒杀优惠")
    private BigDecimal spike;

    @ApiModelProperty("今日特价优惠")
    private BigDecimal specialOffer;

    @ApiModelProperty("组合套餐优惠")
    private BigDecimal combination;


    /**
     * 优惠金额
     */
    @ApiModelProperty(value = "优惠金额")
    private BigDecimal discountPrice;

    /**
     * 运费
     */
    @ApiModelProperty(value = "运费")
    private BigDecimal freightPrice;


    /**
     * 门店id
     */
    @ApiModelProperty(value = "门店id")
    private Long storeId;

    /**
     * 门店名称
     */
    @ApiModelProperty(value = "门店名称")
    private String storeName;


    /**
     * 会员关联优惠券id
     */
    @ApiModelProperty(value = "会员管理优惠券id")
    private Long memberInnerCouponId;

    /**
     * 下单人id
     */
    @ApiModelProperty(value = "下单人id")
    private Long payMemberId;


    /**
     * 收货地址id
     */
    @ApiModelProperty(value = "收货地址id")
    private Long userReceiverId;

    @ApiModelProperty(value = "配送类型 1 自提 2 同城 3快递")
    private Integer packType;
    /**
     * 订单类型  1普通订单  2处方订单
     */
    @ApiModelProperty(value = "订单类型  1普通订单  2处方订单 3积分订单 4 分销订单")
    private Integer orderType;

    /**
     * 药品信息
     */
    @ApiModelProperty(value = "药品信息")
    private List<PayTransactionsDrugV2Req> payTransactionsDrugReq;


    @ApiModelProperty("详情的药品列表")
    private List<PlaceOrderDrugV2Resp> drugList;


    @ApiModelProperty("是否包含处方药 0->不包含 1->包含 ")
    private Integer prescription;


    @ApiModelProperty("利润")
    private BigDecimal profit;
    @ApiModelProperty("额外订单信息")
    private PlaceOrderExtraV2Resp extra;
}
